#ParallelPlatform Project - A web platform to distribute and share knowledge
#Copyright (C) 2011  Daniel Guerrero Martinez & Sergio Rodriguez Lumley
#
#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program. If not, see <http://www.gnu.org/licenses/>.

from django.forms import ModelForm, ValidationError
from models import Resource
from django.conf import settings


class ResourceForm(ModelForm):
    
    def clean_file(self):
        data = str(self.cleaned_data['file']).lower()
        valid = False
        for type in settings.RESOURCES_TYPES:
            for type_valid in settings.RESOURCES_TYPES[type]:
                if type_valid == data[data.rfind(".")+1: len(data)]:
                    valid = True
        
        if not valid:
            raise ValidationError("Type not valid")

        return self.cleaned_data['file']
    
    
    class Meta:
        model = Resource
        fields = ('file',)
        
#class PageForm(forms.Form):
#    
#    type = forms.IntegerField(required=False,widget=forms.HiddenInput)
#    title = forms.CharField(max_length=60,required=True)
#    content = forms.CharField(required=True,widget=forms.Textarea)
#    noteChange = forms.CharField(required=False,widget=forms.Textarea)
    
    
